CSS Framework (Bootstrap) এবং Tapestry ইন্টিগ্রেশন

Web Development - অ্যাপাচি ট্যাপেস্ট্রি (Apache Tapestry) - Tapestry এর সাথে Third-Party Library Integration |

Bootstrap একটি জনপ্রিয় CSS ফ্রেমওয়ার্ক যা ওয়েব ডেভেলপমেন্টের জন্য বিভিন্ন ধরনের UI কম্পোনেন্ট, লেআউট গ্রিড এবং রেসপন্সিভ ডিজাইন সমর্থন করে। এটি টেমপ্লেট তৈরিতে দ্রুততার সাথে সুন্দর এবং ফাংশনাল ইন্টারফেস তৈরি করতে সাহায্য করে। Apache Tapestry-র সাথে Bootstrap ইন্টিগ্রেট করলে, আপনি দ্রুত এবং কার্যকরী UI তৈরি করতে পারবেন।

এই টিউটোরিয়ালে, আমরা দেখব কিভাবে Tapestry-র সাথে Bootstrap ফ্রেমওয়ার্ক ইন্টিগ্রেট করা যায় এবং কীভাবে Bootstrap এর ফিচার ব্যবহার করে একটি সুন্দর এবং রেসপন্সিভ ওয়েব অ্যাপ্লিকেশন তৈরি করা যায়।


ধাপ ১: Bootstrap এর সাথে Tapestry ইন্টিগ্রেট করা

Bootstrap এবং Tapestry একে অপরের সাথে কাজ করতে পারে খুব সহজে, কারণ Tapestry শুধুমাত্র HTML টেমপ্লেট রেন্ডারিং এবং কম্পোনেন্ট ম্যানেজমেন্টের জন্য ব্যবহৃত হয়, আর Bootstrap এর কাজ HTML, CSS এবং JavaScript দিয়ে স্টাইলিং করা।

১.1. Bootstrap CSS এবং JS ফাইল অ্যাড করা

আপনি Bootstrap এর CSS এবং JS ফাইল সরাসরি আপনার Tapestry প্রজেক্টে অ্যাড করতে পারেন। এটি করার দুটি উপায় রয়েছে:

  1. CDN ব্যবহার: Bootstrap এর সর্বশেষ সংস্করণ Content Delivery Network (CDN) থেকে লোড করা যায়। এটা সহজ এবং দ্রুত।
  2. লোকালি ফাইল ডাউনলোড করা: আপনি Bootstrap ফাইলগুলি ডাউনলোড করে সেগুলি আপনার প্রজেক্টের resources ফোল্ডারে রাখতে পারেন।
উদাহরণ: CDN ব্যবহার
  1. HTML টেমপ্লেট (index.tml):

    Bootstrap এর CDN ব্যবহার করে CSS এবং JS ফাইল টেমপ্লেটে যুক্ত করুন:

    <html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd">
    <head>
        <title>Tapestry and Bootstrap Integration</title>
    
        <!-- Bootstrap CSS -->
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
    
        <!-- Tapestry Styles (optional) -->
        <link rel="stylesheet" href="${asset:css/styles.css}">
    </head>
    <body>
        <div class="container">
            <h1 class="text-center">${messageProvider.get("welcome.message")}</h1>
            <p>This is a Tapestry page integrated with Bootstrap.</p>
    
            <button class="btn btn-primary">Bootstrap Button</button>
        </div>
    
        <!-- Bootstrap JS and dependencies -->
        <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
        <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.0.7/dist/umd/popper.min.js"></script>
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
    </body>
    </html>
    

এখানে:

  • Bootstrap CSS এবং JavaScript CDN ফাইল যুক্ত করা হয়েছে।
  • Tapestry-র ${asset} টেমপ্লেট প্রপার্টি ব্যবহার করে custom styles যোগ করা হয়েছে।
উদাহরণ: লোকালি ফাইল ডাউনলোড করা

আপনি Bootstrap ফাইলগুলি ডাউনলোড করে webapp/resources/css এবং webapp/resources/js ডিরেক্টরিতে রাখতে পারেন। তারপর এই ফাইলগুলিকে Tapestry টেমপ্লেটে যুক্ত করতে পারেন।

  1. CSS ফাইল যুক্ত করা (index.tml):

    <link rel="stylesheet" href="${asset:css/bootstrap.min.css}">
    
  2. JS ফাইল যুক্ত করা (index.tml):

    <script src="${asset:js/bootstrap.bundle.min.js}"></script>
    

এখন আপনার প্রজেক্টে Bootstrap টেমপ্লেট কাজ করবে।


ধাপ ২: Tapestry কম্পোনেন্টে Bootstrap ক্লাস ব্যবহার করা

Bootstrap এর শক্তিশালী UI কম্পোনেন্ট (যেমন ফর্ম, বাটন, টেবিল ইত্যাদি) Tapestry-র কম্পোনেন্টে সহজেই ব্যবহার করা যায়। Bootstrap ক্লাসগুলিকে Tapestry কম্পোনেন্টে প্রয়োগ করার জন্য শুধু কম্পোনেন্টের HTML টেমপ্লেটে ক্লাস অ্যাট্রিবিউট যোগ করতে হবে।

২.১. Form ব্যবহার করে Bootstrap স্টাইল

Tapestry ফর্ম কম্পোনেন্টের জন্য Bootstrap এর স্টাইল ব্যবহার করতে, আপনাকে Bootstrap ক্লাস ফিল্ডে যুক্ত করতে হবে।

  1. HTML টেমপ্লেট (form.tml):
<html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd">
   <head>
       <title>Form with Bootstrap</title>
       <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
   </head>
   <body>
       <div class="container">
           <h2 class="text-center">Bootstrap Form with Tapestry</h2>

           <t:form t:id="loginForm" class="form-group">
               <div class="form-group">
                   <t:label value="Username" for="username" class="control-label"/>
                   <t:textfield value="username" t:id="username" class="form-control"/>
               </div>

               <div class="form-group">
                   <t:label value="Password" for="password" class="control-label"/>
                   <t:passwordfield value="password" t:id="password" class="form-control"/>
               </div>

               <t:button value="Login" t:id="loginButton" class="btn btn-primary"/>
           </t:form>
       </div>

       <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
       <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.0.7/dist/umd/popper.min.js"></script>
       <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
   </body>
</html>

এখানে:

  • Bootstrap CSS ক্লাসগুলিকে Tapestry কম্পোনেন্ট (যেমন t:form, t:textfield, t:passwordfield, t:button) এর মধ্যে প্রয়োগ করা হয়েছে।
  • ফর্ম ইনপুট ফিল্ডগুলির জন্য Bootstrap’s form-control এবং বাটনের জন্য btn btn-primary ক্লাস ব্যবহার করা হয়েছে।

ধাপ ৩: Tapestry তে Bootstrap Grid System ব্যবহার করা

Tapestry এর মধ্যে Bootstrap Grid System ব্যবহার করে রেসপন্সিভ লেআউট তৈরি করতে, row এবং col ক্লাসগুলি ব্যবহার করতে পারেন।

উদাহরণ: Bootstrap Grid System

<html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd">
   <head>
       <title>Responsive Grid with Tapestry</title>
       <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
   </head>
   <body>
       <div class="container">
           <h2 class="text-center">Responsive Grid Layout</h2>

           <div class="row">
               <div class="col-md-4">
                   <div class="card">
                       <div class="card-body">
                           <h5 class="card-title">Column 1</h5>
                           <p class="card-text">Content for the first column.</p>
                       </div>
                   </div>
               </div>
               <div class="col-md-4">
                   <div class="card">
                       <div class="card-body">
                           <h5 class="card-title">Column 2</h5>
                           <p class="card-text">Content for the second column.</p>
                       </div>
                   </div>
               </div>
               <div class="col-md-4">
                   <div class="card">
                       <div class="card-body">
                           <h5 class="card-title">Column 3</h5>
                           <p class="card-text">Content for the third column.</p>
                       </div>
                   </div>
               </div>
           </div>
       </div>

       <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
       <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.0.7/dist/umd/popper.min.js"></script>
       <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
   </body>
</html>

এখানে:

  • Bootstrap Grid System ব্যবহার করে তিনটি কলাম তৈরি করা হয়েছে।
  • col-md-4 ক্ল

াস ব্যবহার করে রেসপন্সিভ গ্রিডে ৩টি কলাম তৈরি করা হয়েছে।


সারাংশ

Bootstrap এবং Apache Tapestry ইন্টিগ্রেশন আপনাকে দ্রুত এবং কার্যকরী UI তৈরি করতে সহায়ক। আপনি Bootstrap CDN বা লোকালি ফাইল ব্যবহার করে সহজেই CSS এবং JS ফাইল যুক্ত করতে পারেন। Bootstrap এর স্টাইল এবং গ্রিড সিস্টেম ব্যবহার করে Tapestry কম্পোনেন্টে সুন্দর এবং রেসপন্সিভ UI তৈরি করা যায়। Tapestry ফ্রেমওয়ার্ক এবং Bootstrap এর শক্তিশালী কম্বিনেশন ওয়েব ডেভেলপমেন্টের কাজকে অনেক সহজ এবং দ্রুততর করে তোলে।

Content added By
Promotion